using System;

namespace ChessKit.ChessLogics
{
  [Flags]
  public enum MoveHint
  {
    None,

    KingMove = 0x200,

    WhiteKingCastling  = KingMove | CastlingAvailability.WhiteKing,
    BlackKingCastling  = KingMove | CastlingAvailability.BlackKing,
    WhiteQueenCastling = KingMove | CastlingAvailability.WhiteQueen,
    BlackQueenCastling = KingMove | CastlingAvailability.BlackQueen,
    
    WhiteCastling = WhiteKingCastling | WhiteQueenCastling,
    BlackCastling = BlackKingCastling | BlackQueenCastling,
    Castling      = WhiteCastling     | BlackCastling,

    Take = 0x10,
    EnPassant = 0x20,
    Promotion = 0x40,
    PawnDoubleMove = 0x80,
    PawnMove = 0x100, 
    RookMove = 0x400,
  }
}